#pragma once

#include "Noncopyable.h"

namespace Steak {
namespace util {
	template<class F>
	class RaiiWrapper : public Noncopyable {
	public:
		RaiiWrapper( const F& f ) : mFunc( f ) {
		}
		~RaiiWrapper() {
			mFunc();
		}

	private:
		F mFunc;
	};
}
}